using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;

namespace NetFramework.DataAccess
{
	/// <summary>
	/// Summary description for IDataCommand.
	/// </summary>
	public interface IDataCommand : ICloneable
	{
		string Name { get; set; }
		IDataSource DataSource { get; }

		IDbCommand DbCommand { get; }

		int ExecuteNonQuery();
		int ExecuteNonQuery(IDbConnection con, IDbTransaction tran);
		IDataReader ExecuteReader(); 
		object ExecuteScalar();
        T ExecuteEntity<T>() where T : class, new();
        List<T> ExecuteEntityList<T>() where T : class, new();

		DataParameterCollection Parameters { get; }
	}
}



